{% extends "base_project.html" %}
{% load compress humanize static hc_extras %}

{% block title %}Zulip Integration for {{ site_name }}{% endblock %}


{% block content %}
<div class="row">
<div class="col-sm-12">
    <h1>Zulip</h1>
    <p>
        <a href="https://zulipchat.com/">Zulip</a> is an open-source group chat app
        with an email threading model. If you use or plan on using Zulip,
        you can integrate it with your {{ site_name }} account in a few simple steps.
    </p>

    <h2>Setup Guide</h2>
    <div class="row ai-step">
        <div class="col-sm-6">
            <span class="step-no"></span>
            <p>
                Log into your Zulip account,
                click on the <strong>gear icon</strong> in the upper right corner,
                and select <strong>Personal Settings</strong>.
            </p>
        </div>
        <div class="col-sm-6">
            <img
                class="ai-guide-screenshot"
                alt="Screenshot"
                src="{% static 'img/integrations/setup_zulip_1.png' %}">
        </div>
    </div>
    <div class="row ai-step">
        <div class="col-sm-6">
            <span class="step-no"></span>
            <p>
                Go to <strong>Bots › Add a new bot </strong> and fill
                out the fields.
            </p>
            <p>
                For <strong>Bot Type</strong>,
                select "Incoming webhook". You can choose your preferred values
                for the bot's name and email.
            </p>
            <p>
                For the profile picture, feel free to use the {{ site_name }} logo:
            </p>
            <p>
                <img src="{% static 'img/logo.png'%}" alt="{{ site_name }} logo">
            </p>
            <p>
                After you have filled out the values,
                click on <strong>Add</strong>.
            </p>
        </div>
        <div class="col-sm-6">
            <img
                class="ai-guide-screenshot"
                alt="Screenshot"
                src="{% static 'img/integrations/setup_zulip_2.png' %}">
        </div>
    </div>

    <div class="row ai-step">
        <div class="col-sm-6">
            <span class="step-no"></span>
            <p>
                Download the bot's <code>zuliprc</code> file by clicking on the
                <strong>cyan download icon</strong>, and upload it in the form below.
                Also, specify the stream or the private user you want {{ site_name }}
                to post notifications to.
            </p>
            <p>
                Save the integration and you are done!
            </p>
        </div>
        <div class="col-sm-6">
            <img
                class="ai-guide-screenshot"
                alt="Screenshot"
                src="{% static 'img/integrations/setup_zulip_3.png' %}">
        </div>
    </div>

    <h2>Integration Settings</h2>

    <form method="post" class="form-horizontal">
        {% csrf_token %}
        <input type="hidden" name="api_key" id="zulip-api-key">
        <input type="hidden" name="bot_email" id="zulip-bot-email">
        <input type="hidden" name="site" id="zulip-site">

        <div class="form-group">
            <label for="zuliprc" class="col-sm-2 control-label">The zuliprc File</label>
            <div class="col-sm-4">
                <input id="zuliprc" type="file">
                <div id="zuliprc-help" class="help-block">
                {% if form.api_key.errors or form.bot_email.errors or form.site.errors %}
                    Invalid file format.
                {% endif %}
                </div>
            </div>
        </div>

        <div id="z-mtype-group" class="form-group {{ form.mtype.css_classes }}">
            <label class="col-sm-2 control-label">Post To</label>
            <div class="col-sm-4">
                <label class="radio-container">
                    <input
                        type="radio"
                        name="mtype"
                        value="stream"
                        {% if form.mtype.value != "private" %} checked {% endif %}>
                    <span class="radiomark"></span>
                    Stream
                </label>
                <label class="radio-container">
                    <input
                        type="radio"
                        name="mtype"
                        value="private"
                        {% if form.mtype.value == "private" %} checked {% endif %}>
                    <span class="radiomark"></span>
                    Private user
                </label>
            </div>
        </div>

        <div class="form-group {{ form.to.css_classes }}">
            <label id="z-to-label" for="z-to" class="col-sm-2 control-label">
            {% if form.mtype.value == "private" %}
                User's Email
            {% else %}
                Stream
            {% endif %}
            </label>
            <div class="col-sm-4">
                <input
                    id="z-to"
                    type="text"
                    class="form-control"
                    name="to"
                    value="{{ form.to.value|default:"" }}">

                <div id="z-to-help" class="help-block">
                {% if form.to.errors %}
                    {{ form.to.errors|join:"" }}
                {% else %}
                    Example: "{% if form.mtype.value == "private" %}alice@example.org{% else %}general{% endif%}"
                {% endif %}
                </div>
            </div>
        </div>

        <div id="z-topic-group" class="form-group {% if form.mtype.value == 'private' %}hide{% endif %} {{ form.topic.css_classes }}">
            <label for="z-topic" class="col-sm-2 control-label">Topic</label>
            <div class="col-sm-4">
                <input
                    id="z-topic"
                    type="text"
                    class="form-control"
                    name="topic"
                    value="{{ form.topic.value|default:"" }}">
                <div class="help-block">
                    Example: "Alerts". Leave empty to use auto-generated topics in the form:
                    "{check name} is {status}".
                </div>
            </div>
        </div>

        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button
                    id="save-integration"
                    type="submit"
                    disabled
                    class="btn btn-primary">Save Integration</button>
            </div>
        </div>
    </form>
</div>
</div>
{% endblock %}

{% block scripts %}
{% compress js %}
<script src="{% static 'js/add_zulip.js' %}"></script>
{% endcompress %}
{% endblock %}
